home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 17 / CU Amiga Magazine's Super CD-ROM 17 (1997)(EMAP Images)(GB)[!][issue 1997-12].iso / CUCD / Programming / MUI / MUIUndoc / MUIundoc.h < prev    next >
C/C++ Source or Header  |  1997-09-07  |  8KB  |  233 lines

  1. /***************************************************************************
  2. ** The Hacker's include to MUI v1.1 :-)
  3. **
  4. ** Copyright 1997 by Alessandro Zummo
  5. ** azummo@ita.flashnet.it
  6. **
  7. ** This include is unofficial, use at your own risk!
  8. **
  9. ** You can also find other undocumented tags in libraries/mui.h :-)
  10. **
  11. ****************************************************************************
  12. ** Class Tree
  13. ****************************************************************************
  14. **
  15. ** rootclass                   (BOOPSI's base class)
  16. ** +--Notify                   (implements notification mechanism)
  17. ** !  +--Area                  (base class for all GUI elements)
  18. ** !     +--Framedisplay       (displays frame specification)
  19. ** !     !  \--Popframe        (popup button to adjust a frame spec)
  20. ** !     +--Imagedisplay       (displays image specification)
  21. ** !     !  \--Popimage        (popup button to adjust an image spec)
  22. ** !     +--Pendisplay         (displays a pen specification)
  23. ** !     !  \--Poppen          (popup button to adjust a pen spec)
  24. ** !     +--Group              (groups other GUI elements)
  25. ** !        +--Register        (handles page groups with titles)
  26. ** !        !  \--Penadjust    (group to adjust a pen)
  27. ** !        +--Frameadjust     (group to adjust a frame)
  28. ** !        +--Imageadjust     (group to adjust an image)
  29. **
  30. */
  31.  
  32.  
  33. #ifndef MUI_UNDOC_H
  34. #define MUI_UNDOC_H
  35.  
  36.  
  37. //Uncomment this if you want be able to use all the undocumented features
  38. //But remember to modify your libraries/mui.h include
  39.  
  40. //#define UNDOC_HACK
  41.  
  42.  
  43. /*************************************************************************
  44. ** Black box specification structures for images, pens, frames            
  45. *************************************************************************/
  46.  
  47. /* Defined in mui.h
  48. struct MUI_PenSpec
  49. {
  50.     char buf[32];
  51. };
  52. */
  53.  
  54. struct MUI_ImageSpec
  55. {
  56.   char buf[64];
  57. };
  58.  
  59. struct MUI_FrameSpec
  60. {
  61.   char buf[64];
  62. };
  63.  
  64.  
  65. // I'm not sure if MUI_ImageSpec an MUI_FrameSpec are 32 or 64 bytes wide.
  66.  
  67.  
  68. /*************************************************************************
  69. ** The real MUI_NotifyData structure
  70. *************************************************************************/
  71.  
  72. #ifdef UNDOC_HACK
  73.  
  74. struct MUI_NotifyData
  75. {
  76.     struct MUI_GlobalInfo *mnd_GlobalInfo;
  77.     ULONG                  mnd_UserData;
  78.     ULONG                  mnd_ObjectID; 
  79.     ULONG priv1;
  80.     Object                  *mnd_ParentObject; // The name may not be the real one
  81.     ULONG priv3;
  82.     ULONG priv4;
  83. };
  84.  
  85. #define _parent(obj)    (muiNotifyData(obj)->mnd_ParentObject) /* valid between MUIM_Setup/Cleanup */
  86.  
  87. #else
  88.  
  89. #define _parent(obj)    xget(obj,MUIA_Parent)
  90.  
  91. #endif
  92.  
  93.  
  94. // The use of _parent(obj) macro is strictly forbidden! Use xget(obj,MUIA_Parent) instead.
  95.  
  96.  
  97. /****************************************************************************/
  98. /** Flags                                                                  **/
  99. /****************************************************************************/
  100.  
  101. #define MADF_OBJECTVISIBLE     (1<<14) // The object is visible
  102.  
  103. #define MUIMRI_INVIRTUALGROUP  (1<<29) // The object is inside a virtual group
  104. #define MUIMRI_ISVIRTUALGROUP  (1<<30) // The object is a virtual group
  105.  
  106. /****************************************************************************/
  107. /** Crawling                                                               **/
  108. /****************************************************************************/
  109.  
  110. #ifdef _DCC
  111. extern char MUIC_Crawling[];
  112. #else
  113. #define MUIC_Crawling "Crawling.mcc"
  114. #endif
  115.  
  116. #define CrawlingObject MUI_NewObject(MUIC_Crawling
  117.  
  118.  
  119. /****************************************************************************/
  120. /** Window                                                                 **/
  121. /****************************************************************************/
  122.  
  123. /* Methods */
  124.  
  125. #define MUIM_Window_ActionIconify 0x80422cc0 /* V18 */
  126. #define MUIM_Window_Cleanup       0x8042ab26 /* Custom Class */ /* V18 */
  127. #define MUIM_Window_Setup         0x8042c34c /* Custom Class */ /* V18 */
  128.  
  129. struct  MUIP_Window_Cleanup       { ULONG MethodID; }; /* Custom Class */
  130. struct  MUIP_Window_Setup         { ULONG MethodID; }; /* Custom Class */
  131.  
  132. /* Attributes */
  133.  
  134. #define MUIA_Window_DisableKeys   0x80424c36 /* V15 isg ULONG */ 
  135.  
  136. /****************************************************************************/
  137. /** Area                                                                   **/
  138. /****************************************************************************/
  139.  
  140. /* Methods */
  141.  
  142. #define MUIM_DoDrag          0x804216bb /* V18 */ /* Custom Class */
  143. #define MUIM_CreateDragImage 0x8042eb6f /* V18 */ /* Custom Class */
  144. #define MUIM_DeleteDragImage 0x80423037 /* V18 */ /* Custom Class */
  145. #define MUIM_GoActive        0x8042491a
  146. #define MUIM_GoInactive      0x80422c0c
  147.  
  148. struct  MUIP_DeleteDragImage { ULONG MethodID; struct MUI_DragImage *di; };              /* Custom Class */
  149. struct  MUIP_CreateDragImage { ULONG MethodID; LONG touchx; LONG touchy; ULONG flags; }; /* Custom Class */
  150. struct  MUIP_DoDrag          { ULONG MethodID; LONG touchx; LONG touchy; ULONG flags; }; /* Custom Class */
  151.  
  152. #define MUIV_CreateBubble_DontHidePointer (1<<0)
  153.  
  154. struct MUI_DragImage
  155. {
  156.     struct BitMap *bm;
  157.     WORD width;  /* exact width and height of bitmap */
  158.     WORD height;
  159.     WORD touchx; /* position of pointer click relative to bitmap */
  160.     WORD touchy;
  161.     ULONG flags; /* must be set to 0 */
  162. };
  163.  
  164.  
  165.  
  166. /****************************************************************************/
  167. /** Imagedisplay                                                           **/
  168. /****************************************************************************/
  169.  
  170. /* Attributes */
  171.  
  172. #define MUIA_Imagedisplay_Spec 0x8042a547 /* V11 isg struct MUI_ImageSpec * */
  173.  
  174.  
  175.  
  176. /****************************************************************************/
  177. /** Imageadjust                                                            **/
  178. /****************************************************************************/
  179.  
  180. /* Attributes */
  181.  
  182. #define MUIA_Imageadjust_Type  0x80422f2b /* V11 i.. LONG */
  183.  
  184.  
  185. /****************************************************************************/
  186. /** Framedisplay                                                           **/
  187. /****************************************************************************/
  188.  
  189. /* Attributes */
  190.  
  191. #define MUIA_Framedisplay_Spec 0x80421794 /* isg struct MUI_FrameSpec * */
  192.  
  193.  
  194. /****************************************************************************/
  195. /** Prop                                                                   **/
  196. /****************************************************************************/
  197.  
  198. /* Attributes */
  199.  
  200. #define MUIA_Prop_DeltaFactor 0x80427c5e /* V4 .s. LONG */ 
  201. #define MUIA_Prop_DoSmooth    0x804236ce /* V4 i.. LONG */ 
  202.  
  203. /****************************************************************************/
  204. /** Group                                                                  **/
  205. /****************************************************************************/
  206.  
  207. /* Attributes */
  208.  
  209. #define MUIA_Group_Forward    0x80421422 /* V11 .s. BOOL */
  210.  
  211. /****************************************************************************/
  212. /** Text                                                                   **/
  213. /****************************************************************************/
  214.  
  215. /* Attributes */
  216.  
  217. #define MUIA_Text_HiCharIdx   0x804214f5
  218.  
  219.  
  220. /****************************************************************************/
  221. /** Dtpic                                                                  **/
  222. /****************************************************************************/
  223.  
  224. /* Attributes */
  225.  
  226. #define MUIA_Dtpic_Name 0x80423d72
  227.  
  228.  
  229. #endif // MUI_UNDOC_H
  230.  
  231.  
  232.  
  233.